#define _CRT_SECURE_NO_WARNINGS 1

#include <stdlib.h>
#include <stdio.h>
#include <assert.h>


typedef int SLDataType;

typedef struct SList
{
	SLDataType val;
	struct SList* prev;
	struct SList* next;
}SList;

SList* SListInit();

void SListPrint(SList* phead);

SList* BuySList(SLDataType x);

void SListPushBack(SList* phead, SLDataType x);
void SListPushFront(SList* phead, SLDataType x);

void SListPopBack(SList* phead);
void SListPopFront(SList* phead);

SList* SListFind(SList* phead, SLDataType x);

void SListInsert(SList* pos, SLDataType x);

void SListErase(SList* pos);

void SListDestroy(SList* phead);